REplay PLAYer is a computer program that de-constructs a given sound file and re-composes it by using realtime composition algorithms - a field of research that has been investigated by Karlheinz Essl since the mid 1980ies. With this project, Karlheinz Essl is following once again his vision of a music "that is composed, as if from itself (auto-poetic), at the moment of its sounding."
REplay PLAYer can be used as a tool to generate an infinite and every-changing sonic stream from a single sound file for artistical, compositional or mere recreational purposes. It can also be regarded as a computer based instrument for live performances, as an interactive sound installation or a generator for ambient music.
Shareware registration
REplay PLAYer is released as shareware. Please register your copy to ensure the further development of this program. You can purchase a registration code for $ 25.00 online from KAGI:
http://order.kagi.com/?5BM
Double-clicking on the "Register online with KAGI" file in the distribution folder will automatically start Netscape and open this URL.
Only registered users can record the output to disk, access the advanced control features of the Specials, and use the FX control panel. In the meantime, you can have a look at the enclosed Screenshot.pict to see the hidden control windows and their functionalities.
System requirements
• Apple Macintosh G3 computer
• OS 8.6 or better
• min. 24 MB of free RAM (80 MB recommended for longer sound files)
• min. screen resolution 800*600 pixels
Quick intro
• Start the application by double-clicking on REplayPLAYer_2.4
• After the program has started, select "Load Sample..." from the "Shredder" menu. Select an AIFF file (mono, 22.05 or 44.1 kHz, 16 bit, uncompressed).
• Select "Start" on the same "Shredder" menu.
• Listen and enjoy.
What the REplay PLAYer does
The REplay PLAYer stores an entire sound file in the computer's RAM from which it cuts out particles of varying length from different positions of the file. The length of the particles is determined by the "granularity" parameter which can be changed with the horizontal slider below the white square field. Then the program will overlap these particles according to the density parameter which can also be changed by the vertical slider on the right side of this aforementioned field. The position on the sound file from which the grains are taken is determined by a separate algorithm which various modes you can control in manyfold ways. Furthermore, those grains can also be transposed either by transposition algorithms or manually. As a registered user, you can also store your creations directly to disk, you can access the advanced control features and use the built-in effects and VST plugins.
Menus
Apple Menu
• About REplay PLAYer...: general information about the program and its author.
Shredder
Here you can load a sample and start/stop the shredder process.
• Load sample...: select an uncompressed AIFF mono sound file from your hard disk. For more information see below.
• Start: starts the process
• Stop: stops it
• Specials...: Opens a separate window which allows you to access several advanced control facilities. This works only for registered users.
- Mode: here you can change the speed when you run the process in the "Loop" mode. You change it between 50% (= half speed) and 800% (= eight times faster than original). Below you can determine the gap between the "min" and "max" position of the sample which is most effective if you run the process in "Freeze" mode and scrub manually through the sample, or if you use the automatic "Walk" mode. Furthermore, you can determine the "distance" for "Jump" mode which will influence how far the random can jump within the sample from one position to another.
- Crossfade: performs a smooth crossfade between the looped original sample and its shredded version by dragging the horizontal slider accordingly. The pull-down menu above allows you the select "original" or "shredder", or random which will perform a random-walk on this slider resulting in a time-variant random mix between both sources.
- Sample info: displays the length of the loaded sample (min : sec : tenth/seconds), its filename and sampling rate
• FX...: Opens a separate window which allows you to access the FX control panel. This works only for registered users.
The order of the sections from left to right mirrors the signal flow through the various effects:
- Volume: here you can set the volume range. In "default" the full range between -12 and 0 dB is used by a random-driven algorithm, while "min" would attenuate the signal by -12 dB. Selecting "max" would play each grain with its original, non-attenuated amplitude (= 0 dB).
- VST 1: one of the 3 VST Plugins. Select "load" to load a VST plugin and "window" to access its control window. With the dial wheel you can adjust the balance between dry and wet signal. Or you select one of the presets in the pull-down menu: "dry", "mix" or "wet". Choosing "random" will result in a random-driven time-variant process.
- VST 2: same as above.
- EQ: a simple graphical equalizer for "lo", "mid" and "hi" frequencies. Selecting "linear" in the pull-down menu will not affect the signal while "random" would perform a time-variant random transitions on the three EQ bands.
- VST 3: same as VST 1. This is the best place for putting a limiter and/or compressor plugin.
-Panning: random-controlled algorithm for the balance between left and right channel. You can determine the speed by selecting several presets in the first pull-down menu; furthermore, also three different settings for the width (narrow, medium, wide) can be chosen.
- Spread: by moving the dial wheel you can narrow or broaden the stereo panorama of the result. If the dial is on the left, the result will be mono; if it is on the right side, you will hear a broad stereo which can result in some artefacts of the frequency domain. You can also recall stored preset from the pull-down menu. Note that this algorithms works best when Panning is set to "stop".
Record
This works only for registered users. Select "Locate..." in the "Record" menu and determine the file path of the sound file that you want to create. Per default, this file is called "snd.aiff" which is a 44.1 kHz AIFF stereo sound file. Selecting "start" will naturally ("naturgemäß", to quote Thomas Bernhard) start the recording, and "stop" will certainly finish this process ;-)
Onscreen controls
Mode
The start position of the selected particles in the file is determined by several modes which can be changed by the "Mode" pull-down menu:
• Freeze: a single randomly chosen position in the file is kept. Now one can use the "scrub" fader to move along in the file, or dragging the "min" and "max" slider to determine a region from which the program will extract its sound snippets. You can change the gap between "min" and "max" in the "Specials..." of the "Shredder" menu.
• Walk: performing a random walk on the file by smooth transitions between randomly chosen positions in the file
• Jump: the position is changed randomly be jumping around in the file
• Regions: by automatically moving the position of "min" and "max" a constantly changing region is created from which the program will start to cut off sound particles.
• Loop: reads through the sample in loop mode. You can change the reading speed in the "Specials..." of the "Shredder" menu.
• Random: randomly changes between the modes Walk, Jump, Regions and Loop.
• Select all: the entire samples can be used
Grains
Granularity and density can be either controlled manually, or by selecting presets from the "Grains" pull-down menu. Those presets are:
• Default: a fixed setting with medium granularity and medium density
• Shuffle: long particles with low density
• Polyphony: medium particle size with high density
• Granular: small particles with low density
• Random: automatically changes granularity and density by performing smooth fades between random positions
Thanks to the square control field one can change granularity and density at the same time by dragging the mouse inside this field.
The best way is to experiment with the sliders and presets in the "Grains" and "Mode" menus. Due to the introduced chance operations and the complex relationship between the parameters and the supplied sound material it is sometimes hard to predict the result. Anyway, surprise can be seen as a quality in itself (to modify a word of Schoenberg: "Variation is a quality in itself.")
Pitch
Here you can determine the transposition of the sound grains; 1) by selecting a preset from the "Pitch" pull-down menu, 2) by setting the region of the transposition by turning the "min" and "max" knobs, 3) by dragging the vertical transposition slider above those knobs, 4) by clicking or moving the mouse (button held down) across the onscreen keyboard. The range of the possible transpositions is 2 octaves: one octave down, and one octave up.
• Original: does not apply any transposition
• Detuned: randomly chosen pitch modifications in a very small range around the original tune.
• Medium Range: similar, but within a small range
• Medium Range: similar, but within a broader range
• Full range: similar, but within the full range of two octaves
Beside those presets which perform a static setting of the transposition parameters "min" and "max", there are three time-variant functions:
• Moving: by randomly moving the "min" and "max" knobs the transposition range varies in time
• Glissando: performs glissando movements between randomly seleceted positions on the transposition scale in different speeds
• Jumping: jumps around in the transposition range by applying brownian-like movements in moving speeds
Displays
The field below the Mode pull-down menu contains two LED displays for the signal level of the left and right channel. In between both there is a new type of display which shows the amount of CPU usage graphically: in a continous shift from green two yellow to red the CPU load is symbolized. Green means low, yellow middle, and red high CPU usage.
Further information
Samples
REplay PLAYer requires an AIFF sound file. If you are a electronic musician or a composer you will certainly have dozens of sound files stored on your hard disk. Please not that the program only works with mono sound files. If you'd selected a stereo sound file, the program would only use its left channel.
Please note the correct file format: mono, 22.05 or 44.1 kHz, 16 bit, uncompressed. If you select a stereo file, only the left channel will be loaded.
If you don't have an AIFF sound at hand, don't desperate. Put a CD in your computer and extract a track with a "ripper" software or by using the new jukebox program iTunes which you can download for free from:
http://www.apple.com/itunes
Please note that this program requires OS 9.0.4 or better to run. The duration of the sample is limited by the available RAM of the computer - a good length would be between 2 - 5 minutes. If you want to use longer samples you will have to increase the memory partition ot the REplay PLAYer application. More information about this can be found later unter the paragraph "Memory usage".
Memory usage
REplay PLAYer stores an entire sound file in the computers RAM. The longer the sound file is, the more memory is required. A rule of thumb says that the application will need two times as much memory as the size of the loaded sndfile. The factory setting reserves up to 80 MB RAM for the REplay PLAYer. If one wants to use a mono sound file which size is larger than approx. 37 MB it would be necessary to allocate more memory to the application: In the Finder, one has to select the REplay PLAYer application. By pressing <command-i>, an information window pops up where one can increase the memory partition of the application.
The theory behind
The concept of music that is created at the moment of its sounding ("realtime composition") and the vision of a composition that is not provided in form of fixed notation has been haunting Karlheinz Essl since the mid 1980ies. Departing from theoretical concepts that have been formulated by Karlheinz Stockhausen and Gottfried Michael Koenig in the late 1950ies, he started to dig into the field of algorithmic music where he and Gerhard Eckel started to develop a software library for musical composition in realtime - the so-called "Realtime Composition Library for MAX". The first fruit of this labour was a piece called "Lexikon-Sonate" (1992 ff.) - a realtime composition for computer-controlled piano that replaced a pianist by a computer which composes and performes this never-ending piece in realtime. A theory of structure generatores emerged in the course of this project and can be found on the web at:
http://ww.essl.at/bibliogr/struktgen.html
Thanks
I want to thank my friend Gerhard Eckel for using one of his MSP externals that he wrote in 2000 and which serves as the core of the granulation engine. Finally I also want to thank my friend Boris S. Hauf for his suggestions for enhancing the user interface and David Stevens for his valuable feedback during the beta test phase.
Contact
Dr. Karlheinz Essl
mailto:essl@eunet.at
http://www.essl.at
An der Donau-Au 1
A-3400 Klosterneuburg
Austria / Europe
History
1.0 light (released 27 Feb 2001)
First public release
Public domain freeware version
2.0b1 (released 7 Mar 2001)
Start of the beta testing program
Recording enabled
Support for VST plugins
New improved and enhanced user interface
Extended documentation
2.0b2 (released 14 Mar 2001)
New menu driven user interface
Pitch algorithms included
Specials control window for advanced purposes
New "Loop" mode does time stretching/compression
Extended documentation
2.0b3 (released 16 Mar 2001)
Major changes of the user interface
Minor improvements and enhancements
Additional controls in "Specials..."
+ "distance" parameter for "Jump" mode
+ sample information
2.0b4 (released 19 Mar 2001)
Changes of the user interface
FX control panel added which supports now 3 independent VST plugins and a 3 band graphic equalizer
2.0 (released 2 April 2001)
Test release of the shareware version
Added presets
2.0.1 (released 20 April 2001)
Final release of the shareware version
Minor improvements
Modifications of the README file
2.4 (released 19 June 2001)
First major update
New user interface with waveform display of the sound material
Improved audio engine
CPU load display
Panning algorithm added
Minor and major bug fixes and enhancements
Presets omitted
Copyright
This software is copyrighted by Karlheinz Essl and others. The following terms apply to all files associated with the software unless explicitly disclaimed in individual files.
The authors hereby grant permission to use, copy, and distribute this software and its documentation for any purpose, provided that existing README file containing this copyright notice is retained in all copies and that this notice is included verbatim in any distributions. This version only works fully functional with a registration code that is supplied as soon as the shareware fee has been paid.
IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.